#include<iostream>
#include<algorithm>
using namespace std;

int step=0,n,m,a,b;
int dx[]={1,0},dy[]={0,1};
int fx[]={2,1,-1,-2,-2,-1,1,2},fy[]={1,2,2,1,-1,-2,-2,-1};
bool vis[100][100];

void dfs(int x,int y)
{
	if(x==n && y==m)
	{
		step++;
		return ;
	}
	for(int i=0;i<2;i++)
	{
		int xx=x+dx[i],yy=y+dy[i];
		if(xx<=n && yy<=m && !vis[xx][yy])
			dfs(xx,yy);
	}
}

int main()
{
	cin>>n>>m>>a>>b;
	vis[a][b]=1;
	for(int i=0;i<8;i++)
	{
		int xx=a+fx[i],yy=b+fy[i];
		if(xx>=0 && yy>=0)
			vis[xx][yy]=1;
	}
	dfs(0,0);
	cout<<step;
    return 0;
}
